In a computer system which operates in multi-process, programs are prepared such that upon completion of a process, the storage area of the memory used in the process is released. However, due to a defect or the like in the program, the storage area used in the process may not be released even after the process has ended. A state where a storage area of the memory remains secured is called the memory leak. The memory leak causes abnormal termination or slowdown of the system.
For example, as a function of releasing an unused memory area, there is garbage collection (GC). In the GC, releasing a memory area in which unnecessary data is stored is called recovery of data. The memory leak occurs even in a system where GC is implemented. For example, when the GC is unable to recover unnecessary data due to reference to unnecessary data (object) from a program, the memory leak occurs. Since mechanically correct determination of unnecessary data is difficult, it is impossible to completely suppress the memory leak.
Since it is difficult to mechanically determine whether data is an unnecessary object, a material such as dump data or class histogram by heap dump (snapshot dump of data in the memory) is collected in the practical memory leak investigation. The class histogram is a graphed transition of the number of objects for each class in the object-oriented programming. Occurrence of the memory leak is determined by manually analyzing the collected material.
In the memory leak investigation, it is difficult to determine an appropriate material collection timing before collecting. For this reason, it is preferable to collect materials at as many timing as possible. However, as memory capacity becomes larger, data amount of dump data is increasing. Therefore, if dump data is collected frequently and all collected dump data is stored, storage capacity of the storage device becomes tight. Then, for example, when total amount of dump data reaches a predetermined value, dump data is deleted in order from data of older collection time.
Related techniques are disclosed in, for example, International Publication Pamphlet No. WO 2004/099985, U.S. Pat. Nos. 7,979,748 and 7,953,772, and Japanese Laid-open Patent Publication Nos. 10-333938 and 2009-151680.